package com.melodyframe.tableland.engine.model.base;

/**
 * <h1>量化模型</h1>
 * <p>
 * 对象可量化
 * </p>
 * 
 * @author ettear
 */
public interface QuantifiableModel {

    /**
     * 值
     * 
     * @return
     */
    public int getValue();

    /**
     * 设置值
     * 
     * @param value
     */
    public void setValue(int value);

    /**
     * 大于
     * 
     * @param value
     * @return
     */
    public boolean greaterThan(int value);

    /**
     * 大于
     * 
     * @param model
     * @return
     */
    public boolean greaterThan(QuantifiableModel model);

    /**
     * 增加
     * 
     * @param value
     */
    public void increase(int value);

    /**
     * 增加
     * 
     * @param model
     */
    public void increase(QuantifiableModel model);

    /**
     * 减少
     * 
     * @param value
     */
    public void deduction(int value);

    /**
     * 减少
     * 
     * @param model
     */
    public void deduction(QuantifiableModel model);
}
